/**
 * QueryParamBean.java
 * Version 1.0.0
 * Created on 2019年1月16日
 */
package com.yincheng.oes.business.group.model.query;

import com.yincheng.oes.business.util.Page;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * @author yangsy
 * @version 1.0.0
 * @since
 * 创建时间：2019年1月16日
 * <p>
 * 功能描述：
 * <p>
 * 邮箱地址：446948434@qq.com
 */
public class QueryParamBean {

    private String groupName;// 班级组名称

    /**
     * 创建时间起
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date createStartTime;

    /**
     * 创建时间止
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date createEndTime;

    private Page page;// 分页参数

    /**
     * @return the groupName
     */
    public String getGroupName() {
        return groupName;
    }

    /**
     * @param groupName the groupName to set
     */
    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    /**
     * @return the createStartTime
     */
    public Date getCreateStartTime() {
        return createStartTime;
    }

    /**
     * @param createStartTime the createStartTime to set
     */
    public void setCreateStartTime(Date createStartTime) {
        this.createStartTime = createStartTime;
    }

    /**
     * @return the createEndTime
     */
    public Date getCreateEndTime() {
        return createEndTime;
    }

    /**
     * @param createEndTime the createEndTime to set
     */
    public void setCreateEndTime(Date createEndTime) {
        this.createEndTime = createEndTime;
    }

    public String[] getGroupNames() {
        String[] split = StringUtils.split(StringUtils.defaultIfBlank(groupName, ""));
        List<String> newParams = new ArrayList<String>();
        for (String string : split) {
            string = "%" + string + "%";
            newParams.add(string);
        }
        return (String[]) newParams.toArray(new String[0]);
    }

    /**
     * @return the page
     */
    public Page getPage() {
        return page;
    }

    /**
     * @param page the page to set
     */
    public void setPage(Page page) {
        this.page = page;
    }
}
